home *** CD-ROM | disk | FTP | other *** search
- # CVS $Id: text.tcl,v 1.3 1995/02/03 16:55:26 zibi Exp $
- source tools.tcl
-
- proc mkTextDialog {options cbs} {
- set target [keylget cbs widget]
-
- set dlog [VtFormDialog $target.txt -okCallback CloseDialogCB]
-
- set lab [VtLabel $dlog.echoLab -label "Echo Area"]
-
- set echoTxt [VtText $dlog.echo \
- -leftOffset 5 \
- -CHARM_leftOffset 1 \
- -below $lab -rightSide FORM -rows 2 \
- -columns 40 \
- -readOnly ]
-
- set sep [VtSeparator $dlog.sep \
- -leftSide FORM -rightSide FORM \
- -MOTIF_topOffset 5 -below $echoTxt]
-
- set lab [VtLabel $dlog.lab -below $sep -label "Test Text" \
- -MOTIF_topOffset 5]
-
- set additionalOpts [list -below $lab -rightSide FORM -bottomSide FORM \
- -leftOffset 5 \
- -CHARM_leftOffset 1\
- -userData $echoTxt]
- eval "VtText {$dlog.test} $options $additionalOpts"
-
- VtShow $dlog
- }
-
- proc addTest {parent label args} {
- VtPushButton $parent.$label -label $label -callback "mkTextDialog {$args}"
- }
-
- # general callback
- proc textCB {label cbs} {
- set target [keylget cbs widget]
- set value [keylget cbs value]
- set echoTxt [VtGetValues $target -userData]
- set echoTxt [lindex $echoTxt 0]
-
- VtSetValues $echoTxt -value "$label callback\nValue is: <$value>"
- }
-
- proc echoCB {cbs} {
- set target [keylget cbs widget]
- set value [keylget cbs value]
- set echoTxt [VtGetValues $target -userData]
-
- VtSetValues $echoTxt -value "Value is: <$value>"
- }
-
- set ap [VtOpen "text"]
-
- set dlog [VtFormDialog $ap.form -title "Text Test" \
- -okLabel Exit -okCallback QuitCB ]
-
- set rc [VtRowColumn $dlog.rc -xmArgs "XmNbackground red" -rightSide FORM]
-
- set lotsOfText ""
- for {set i 0 } {$i < 100} {incr i} {
- set lotsOfText "$lotsOfText\nLots of Text that needs a scrollbar $i"
- }
-
- addTest $rc "No Echo" -noEcho -valueChangedCallback echoCB
- addTest $rc "Read Only" -value "This is read only" -readOnly
- addTest $rc "Horizontal ScrollBar" -horizontalScrollBar 1
- addTest $rc "Vertical ScrollBar" -verticalScrollBar 1 -rows 5 \
- -value $lotsOfText
- addTest $rc "Both ScrollBars" -verticalScrollBar 1 -horizontalScrollBar 1 \
- -rows 5 -value $lotsOfText
- addTest $rc "Callback" -callback "textCB callback"
- addTest $rc "All_Callbacks" -valueChangedCallback "textCB valueChanged" \
- -callback "textCB callback" \
- -activateCallback "textCB activate" \
- -losingFocusCallback "textCB losingFocus"
-
- VtShow $dlog
-
- VtMainLoop
-
-